函数 TITLECASE() 旨在将现有文本转换为标题格式并返回以下形式的一组单词:
Title Case 函数代码将连字符、下划线等分隔符替换为空格,将所有单词转换为大写,并将连词转换为小写。
Title Case 对于新闻标题、网站文章标题或 YouTube 视频标题中的大小写纠正非常有用。
TITLECASE() 与标准 PROPER() 函数类似,只是连词不大写。
以下是创建自定义函数的宏代码,该函数可以在 LibreOffice Calc 中将文本显示为标题 (Title Case)。
打开菜单 Tools - Macros - Edit Macros...,选择 Module1 并将以下文本复制到模块中:
Function TitleCase(ByVal str As String) As String
'moonexcel.com.ua
Dim words As Variant
Dim FCalc As Object
FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
oddWordsLat = "A|An|And|As|At|But|By|En|For|If|In|Is|Of|On|Or|The|To|Vs|Via"
oddWordsCyr = "І|Як|На|Але|Для|Якщо|В|Чи|До|Через|Та|Від|Під|Над|И|Как|Но|То|Или|От|Под|К"
words = Split(oddWordsLat + "|" + oddWordsCyr,"|")
str = FCalc.callFunction("PROPER", Array(str))
For i = LBound(words) To UBound(words)
pattern = "(?!^)\b" + words(i) + "\b"
replacement = LCase(words(i))
str = FCalc.callFunction("REGEX", Array(str,pattern,replacement,"g"))
Next i
TitleCase = str
End Function
然后关闭 Macro Editor,返回到 LibreOffice Calc 并在任何单元格中使用我们的新函数。
您还可以使用该功能 TITLECASE() 通过安装免费扩展 YouLibreCalc.oxt 或其全功能版本 YLC_Utilities.oxt 。
之后,该功能将在 LibreOffice Calc 中打开的所有文件中可用。